using System;
using System.Collections.Generic;
using System.Text;
using PCANeuronal;

namespace Admaco.Logic
{
    /// <summary>
    /// Gestor de ejecuciones de analisis PCA Nueronal.
    /// </summary>
    public class MPCANeuronal
    {
        private static volatile PCANeuronalclass pcaNeuronal;
        private static volatile MPCANeuronal instance;
        private static object syncRoot = new Object();

        private MPCANeuronal()
        {
            pcaNeuronal = new PCANeuronalclass();
        }


        public static MPCANeuronal Instance
        {
            get
            {
                if (instance == null)
                {
                    lock (syncRoot)
                    {
                        if (instance == null)
                            instance = new MPCANeuronal();
                    }
                }

                return instance;
            }
        }

        public void ejecutar(Double Num_neuronas, Double Coef_aprendizaje, Double Num_iteraciones, String Nomb_Fichero_Datos, String Nomb_Fichero_clases, String NombreFichero, Boolean MostrarEtiquetas)
        {
            pcaNeuronal.PCANeuronal(Num_neuronas, Coef_aprendizaje, Num_iteraciones, Nomb_Fichero_Datos, Nomb_Fichero_clases, NombreFichero, MostrarEtiquetas);
        }

    }
}
